package net.qhzw.vip.qiyu.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelTarget;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 用户表
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "dts_user")
@ExcelTarget("dtsUser")
public class DtsUser implements Serializable {

    static final long serialVersionUID = -1L;

    /**
     * ID
     */
    @TableId(value = "id", type = IdType.INPUT)
    private Long id;

    /**
     * 商铺id
     */
    @TableField(value = "shop_id")
    private Long shopId;

    /**
     * 用户名称
     */
    @TableField(value = "username")
    private String username;

    /**
     * 真实姓名
     */
    @TableField(value = "real_name")
    private String realName;

    /**
     * 用户密码
     */
    @TableField(value = "password")
    private String password;


    /**
     * 认证状态：0-未认证；1-初级实名认证 2-高级实名认证
     */
    @TableField(value = "auth_status")
    private Byte authStatus;

    /**
     * 身份证号
     */
    @TableField(value = "id_card")
    @Excel(name = "身份证号", type = 1, width = 20)
    private String idCard;

    /**
     * 手机号码
     */
    @TableField(value = "mobile")
    private String mobile;

    /***
     * 换电ID
     */
    @TableField(value = "battery_id")
    private String batteryId;

    /***
     * 换电类型 1:骑遇 2:骑缘
     */
    @TableField(value = "battery_type")
    private Byte batteryType;

    /***
     * 紧急联系人
     */
    @TableField(value = "emergency_contact")
    private String emergencyContact;

    /**
     * 性别：0 男， 1 女
     */
    @TableField(value = "gender")
    private Byte gender;

    /**
     * 用户层级 0 租户，1 站点管理员 ,2:后台人员
     */
    @TableField(value = "user_level")
    private Byte userLevel;

    /**
     * 用户昵称或网络名称
     */
    @TableField(value = "nickname")
    private String nickname;

    /**
     * 用户头像图片
     */
    @TableField(value = "avatar")
    private String avatar;

    /**
     * 微信登录openid
     */
    @TableField(value = "weixin_openid")
    private String weixinOpenid;

    /**
     * 0 可用, 1 禁用, 2 注销
     */
    @TableField(value = "status")
    private Byte status;


    /**
     * 担保公司
     */
    @TableField(value = "company_id")
    private Long companyId;

    /**
     * 站点ID
     */
    @TableField(value = "community_id")
    private Long communityId;



    @TableField(exist = false)
    private String communityName;

    /**
     * 余额
     */
    @TableField(value = "balance")
    @Excel(name = "金额", type = 10)
    private BigDecimal balance;


    /**
     * 押金
     */
    @TableField(value = "deposit")
    private BigDecimal deposit;

    /**
     * 身份证正面
     */
    @TableField(value = "front_photo")
    private String frontPhoto;

    /**
     * 身份证反面
     */
    @TableField(value = "reverse_photo")
    private String reversePhoto;

    /**
     * 手持证件照
     */
    @TableField(value = "holding_photo")
    private String holdingPhoto;

    /**
     * 认证时间
     */
    @TableField(value = "auth_time")
    private Date authTime;


    /***
     *  注册时间
     */
    @TableField(value = "user_regtime")
    private Date userRegtime;

    /**
     * 修改人
     */
    @TableField(value = "modify_by")
    private Long modifyBy;

    /**
     * 修改时间
     */
    @TableField(value = "modify_time")
    private Date modifyTime;

    /***
     * 审核结果
     */
    @TableField(value = "audit_rsults")
    private String auditRsults;

    /**
     * 备注
     */
    @TableField(value = "remake")
    @Excel(name = "备注", type = 1, width = 20)
    private String remake;

    /**
     * 商城会员
     */
    @TableField(value = "mall_vip")
    private Byte mallVip;



    @TableField(exist = false)
    private double fraction;


}
